PRT_LINE x1k12 ÉÍÍÍÍÍÍ» °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°º DISK º°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ÈÍÍÍÍÍͼ Single or Double Side (0 and 1) 80 Tracks (0 to 79) ~6250 bytes/track (Capacity 500,000 or 1,000,000 bytes/disk) Speed ~300 rpm 1ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄ¿ ³ TRACK STRUCTURE ³ TOS ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄ´ ³ START OF TRACK ³ Gap ~$4E ~$4E ... 32 mini ... ~$4E ~$4E ³ 60 ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄ´ ³ SECTOR ³ Synchro $00 $00 ... 8 mini ... $00 $00 ~$A1 $A1 $A1 ³ 12 ³ ³ ³ Index Address Mark $FE ³ ³ ³ ³ Track number 0-79 ³ ³ ³ ³ Side number 0-1 ³ ³ ³ ³ Sector number 1-n ³ 1-9 ³ ³ ³ Sector length in bytes 0: 128 ³ ³ ³ ³ 1: 256 ³ ³ ³ ³ 2: 512 ³ 2 ³ ³ ³ 3:1024 ³ ³ ³ ³ Cyclic Redundancy Checksum $SS $SS ³ ³ ³ ³ Gap $4E $4E ... 22 ... $4E $4E ³ ³ ³ ³ Synchro $00 $00 ... 12 ... $00 $00 ~$A1 $A1 $A1 ³ ³ ³ ³ Data Address Mark $FB/$F8 ³ $FB ³ ³ ³ Data $XX $XX ... 128/256/512/1024 ... $XX $XX ³ 512 ³ ³ ³ Cyclic Redundancy Checksum $SS $SS ³ ³ ³ ³ Gap ~$4E ~$4E ... 24 mini ... ~$4E ~$4E ³ 40 ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄ´ ³ ANOTHER SECTOR ³ etc... ³ 9 ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄ´ ³ END OF TRACK ³ Gap ~$4E ~$4E ... 16 mini ... ~$4E ~$4E ³ 664 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ TOS SECTOR ASSIGNMENTS ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÁÄÂÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Physical Sector ³ Track ³ Single ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÚÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ Cluster ³ ³ ³ Side ³ Side Disk ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´ ³ Logical Sector ³ ³ ³ ³ ³ Track ³ Double ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄ´ ³ ³ Contents ³ ³ ³ ³ ³ ³ ³ Side ³ Side Disk ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄÂÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÙ ³ Boot sector ³ 0³ -³1³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 1 ³ 1³ -³2³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 1 ³ 2³ -³3³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 1 ³ 3³ -³4³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 1 ³ 4³ -³5³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 1 ³ 5³ -³6³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 2 ³ 6³ -³7³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 2 ³ 7³ -³8³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 2 ³ 8³ -³9³ 0³0³ 0³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 2 ³ 9³ -³1³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ FAT 2 ³ 10³ -³2³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Directory ³ 11³ -³3³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Directory ³ 12³ -³4³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Directory ³ 13³ -³5³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Directory ³ 14³ -³6³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Directory ³ 15³ -³7³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Directory ³ 16³ -³8³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Directory ³ 17³ -³9³ 1³0³ 0³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 18³ 2³1³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 19³ 2³2³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 20³ 3³3³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 21³ 3³4³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 22³ 4³5³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 23³ 4³6³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 24³ 5³7³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 25³ 5³8³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 26³ 6³9³ 2³0³ 1³0³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 27³ 6³1³ 3³0³ 1³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 28³ 7³2³ 3³0³ 1³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 29³ 7³3³ 3³0³ 1³1³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³....³...³.³..³.³..³.³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÅÄÄÄÅÄÅÄÄÅÄÅÄÄÅÄ´ ³ Data ³ 719³352³9³79³0³39³1³ ³ Data ³1439³712³9³ ³ ³79³1³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÁÄÄÄÁÄÁÄÄÁÄÁÄÄÁÄÙ 2 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ BOOT SECTOR ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Byte# Designation ------- -------------------------------------- 0-1 0 or BRA.S address in this boot sector 2-7 Free text of 6 bytes 8-10 Disk serial number on 24 bits 11-12 #Bytes per sector = 512 | (Low-High) 13 #Sectors per cluster = 2 | 14-15 #Reserved sectors = 1 | (Low-High) 16 #File Allocation Table = 2 | 17-18 #Elements in directory = 112 | BIOS (Low-High) 19-20 #Sectors =720/1440 | PARAMETER (Low-High) 21 Media descriptor = $F8/$F9 | BLOCK 22-23 #Sectors per FAT = 5 | (Low-High) 24-25 #Sectors per track = 9 | (Low-High) 26-27 #Sides = 1/2 | (Low-High) 28-29 #Hidden sectors = 0 | (Low-High) 30-509 - 510-511 2 Bytes for adjust checksum of 256 words of bootsector to reach $1234 for executable bootsector ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ FILE ALLOCATION TABLE ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 12 bits (3 nibbles) for each cluster with this code: $000:Free cluster $FF7:Bad cluster $HML:Next cluster (H:High nibble M:Middle nibble L:Low nibble) $FFF:End cluster Logical: - - Cl.2 Cl.3 Cl.4 Cl.5 Cl.6 Cl.7 ... $FF7 $FFF H2M2L2 H3M3L3 H4M4L4 H5M5L5 H6M6L6 H7M7L7 Physical: $F7 $FF $FF M2L2 L3H2 H3M3 M4L4 L5H4 H5M5 M6L6 L7H6 H7M7 ... ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ³ DIRECTORY ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ There are 112 entries of 32 bytes each. byte# 0-7 Name ( 0:not used ) ("."0:root directory ) (". ":current subdirectory) ("..":parent subdirectory) ( $E5:erased ) 8-10 Extension 11 Type b5=archive bit b4=subdirectory b3=volume label b2=system file b1=hidden file b0=read only file 12-21 - 22-23 Hour b15-b11=hours b10-b5=minuts b4-b0=seconds 24-25 Date b15-b9=year-1980 b8-b5=month b4-b0=day 26-27 Starting cluster (Low-High) 28-31 Length (Low-Midl-Midh-High)